<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 字符串方法
    let str = "hello world!!";


    // 字符串长度用length属性
    console.log(str.length)


    // 查询
    // 1. indexOf方法
    // 有的话返回第一次出现的索引值，没有的话返回-1
    const index1 = str.indexOf("e"); // 1
    const index2 = str.indexOf("x"); // -1
    const index3 = str.indexOf("llo"); // 2
    console.log(index1, index2, index3);

    // 2. lastIndexOf()方法
    // 有的话返回最后一次出现的索引值，没有的话返回-1
    const index4 = str.lastIndexOf("e");
    const index5 = str.lastIndexOf("l");
    console.log(index4, index5);

    // 3. includes()方法
    // 判断字符串中是否存在某一个字符片段，返回true或者false
    const result = str.includes("rl");
    console.log(result);

    // 4. startsWith()方法
    // 判断字符串是否以某一个片段开头，返回true或者false
    const result2 = str.startsWith("he");
    console.log(result2);

    // 5. endsWith()方法
    // 判断字符串是否以某一个片段结尾，返回true或者false
    const result3 = str.endsWith("!!")
    console.log(result3);



    // 截取
    // 6. slice()方法
    // 字符串截取，返回截取到的内容
    // 两个参数，开始和结束的位置。包含了开始，不包含结束
    // 出现负数表示从后往前
    const result4 = str.slice(4, 7);
    console.log(result4);
    const result5 = str.slice(-3);
    console.log(result5);
    

    // 7. substring()方法
    // 用于截取，用法和效果与slice几乎相同
    // 除了不能使用负数
    const result6 = str.substring(4, 7);
    console.log(result6);


    // 8. substr()方法
    // 用于截取
    // 开始的位置和截取的长度
    const result7 = str.substr(4, 7);
    console.log(result7);
    
    
    
    // 转换
    // 9. toUpperCase()方法
    // 转大写
    const upper = str.toUpperCase();
    console.log(upper);
    

    // 11. toLowerCase()方法
    // 转小写
    const lower = upper.toLowerCase();
    console.log(lower);


    // 12. trim()方法
    // 用于去除首尾空格
    const trim = str.trim()
    console.log(trim);
    
    
    // 13. split()方法
    // 用于将字符串转数组
    // 参数表示以什么字符串为间隔
    const arr = str.split(" ");
    console.log(arr);


    // 14. replace()方法
    // 用于做字符的替换
    // 第一个参数用于做字符匹配，第二个参数用于做字符的替换
    const replace = str.replace("l", "xxxxxx");
    console.log(replace);
    

    // 15. repeat()方法
    // 将字符串重复几遍
    // 参数传入一个数字
    const repeat = str.repeat(5);
    console.log(repeat);
    
    
    

    
  </script>
</body>
</html>